**** dT 0.000 * top TEST ../../../contrib/tests/statdiff_b00000.vtc starting **** top extmacro def pkg_version=trunk **** top extmacro def pkg_branch=trunk **** top extmacro def pwd=/home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/contrib **** top extmacro def date(...) **** top extmacro def string(...) **** top extmacro def localhost=127.0.0.1 **** top extmacro def bad_backend=127.0.0.1:38033 **** top extmacro def listen_addr=127.0.0.1:0 **** top extmacro def bad_ip=192.0.2.255 **** top extmacro def topbuild=/home/linux1/VT/varnish-cache/varnish-trunk/_build/sub **** top extmacro def topsrc=/home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/../.. **** top macro def testdir=/home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/contrib/../../../contrib/tests **** top macro def tmpdir=/home/linux1/VT/_vtest_tmp/vtc.1771651.47feabcf **** top macro def vtcid=vtc.1771651.47feabcf ** top === varnishtest "varnishstatdiff coverage" * top VTEST varnishstatdiff coverage ** top === feature cmd "command -v diff" **** dT 0.005 ** top === server s1 { ** s1 Starting server **** s1 macro def s1_addr=127.0.0.1 **** s1 macro def s1_port=39239 **** s1 macro def s1_sock=127.0.0.1:39239 * s1 Listen on 127.0.0.1:39239 **** dT 0.006 ** top === varnish v1 -vcl+backend "" -start ** s1 Started on 127.0.0.1:39239 (1 iterations) **** dT 0.017 ** v1 Launch *** v1 CMD: cd ${pwd} && exec varnishd -d -n /home/linux1/VT/_vtest_tmp/vtc.1771651.47feabcf/v1 -i v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0' -M '127.0.0.1 42581' -P /home/linux1/VT/_vtest_tmp/vtc.1771651.47feabcf/v1/varnishd.pid -p vmod_path=/home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/vmod/.libs *** v1 CMD: cd /home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/contrib && exec varnishd -d -n /home/linux1/VT/_vtest_tmp/vtc.1771651.47feabcf/v1 -i v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug,+H2RxHdr,+H2RxBody -p h2_initial_window_size=1m -p h2_rx_window_low_water=64k -a '127.0.0.1:0' -M '127.0.0.1 42581' -P /home/linux1/VT/_vtest_tmp/vtc.1771651.47feabcf/v1/varnishd.pid -p vmod_path=/home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/vmod/.libs *** v1 PID: 1771671 **** v1 macro def v1_pid=1771671 **** v1 macro def v1_name=/home/linux1/VT/_vtest_tmp/vtc.1771651.47feabcf/v1 **** dT 0.019 *** v1 debug|Info: Working directory not mounted on tmpfs partition *** v1 debug| **** dT 0.063 *** v1 debug|Debug: Version: varnish-trunk revision 1e16a6d9d06e61c0a3f756f8f4bf8247022c055a *** v1 debug|Debug: Platform: Linux,4.18.0-553.40.1.el8_10.s390x,s390x,-jlinux,-sdefault,-sdefault,-hcritbit *** v1 debug|200 329 *** v1 debug|----------------------------- *** v1 debug|Varnish Cache CLI 1.0 *** v1 debug|----------------------------- *** v1 debug|Linux,4.18.0-553.40.1.el8_10.s390x,s390x,-jlinux,-sdefault,-sdefault,-hcritbit *** v1 debug|varnish-trunk revision 1e16a6d9d06e61c0a3f756f8f4bf8247022c055a *** v1 debug| *** v1 debug|Type 'help' for command list. *** v1 debug|Type 'quit' to close CLI session. *** v1 debug|Type 'start' to launch worker process. *** v1 debug| **** dT 0.166 **** v1 CLIPOLL 1 0x1 0x0 0x0 *** v1 CLI connection fd = 7 *** v1 CLI RX 107 **** v1 CLI RX|tterchqivjnavpehxlrnehzceuloabuw **** v1 CLI RX| **** v1 CLI RX|Authentication required. **** v1 CLI TX|auth c487cd9beecc928de84114bd940cfb01dde28f8795a9a42c965cbd19c5a3e713 *** v1 CLI RX 200 **** dT 0.167 **** v1 CLI RX|----------------------------- **** v1 CLI RX|Varnish Cache CLI 1.0 **** v1 CLI RX|----------------------------- **** v1 CLI RX|Linux,4.18.0-553.40.1.el8_10.s390x,s390x,-jlinux,-sdefault,-sdefault,-hcritbit **** v1 CLI RX|varnish-trunk revision 1e16a6d9d06e61c0a3f756f8f4bf8247022c055a **** v1 CLI RX| **** v1 CLI RX|Type 'help' for command list. **** v1 CLI RX|Type 'quit' to close CLI session. **** v1 CLI RX|Type 'start' to launch worker process. **** v1 CLI TX|vcl.inline vcl1 << %XJEIFLH|)Xspa8P **** v1 CLI TX|vcl 4.1; **** v1 CLI TX|backend s1 { .host = "127.0.0.1"; .port = "39239"; } **** v1 CLI TX| **** v1 CLI TX| **** v1 CLI TX|%XJEIFLH|)Xspa8P **** dT 0.272 *** v1 vsl|No VSL chunk found (child not started ?) **** dT 0.374 *** v1 vsl|No VSL chunk found (child not started ?) **** dT 0.476 *** v1 vsl|No VSL chunk found (child not started ?) **** dT 0.579 *** v1 vsl|No VSL chunk found (child not started ?) **** dT 0.683 *** v1 vsl|No VSL chunk found (child not started ?) **** dT 0.783 *** v1 vsl|No VSL chunk found (child not started ?) **** dT 0.838 *** v1 CLI RX 200 **** v1 CLI RX|VCL compiled. **** v1 CLI TX|vcl.use vcl1 **** dT 0.839 *** v1 CLI RX 200 **** v1 CLI RX|VCL 'vcl1' now active ** v1 Start **** v1 CLI TX|start **** dT 0.884 *** v1 vsl|No VSL chunk found (child not started ?) **** dT 0.885 *** v1 debug|Debug: Child (1771684) Started **** dT 0.921 *** v1 CLI RX 200 *** v1 wait-running **** v1 CLI TX|status **** dT 0.930 *** v1 debug|Child launched OK *** v1 debug|Info: Child (1771684) said Child starts **** dT 0.972 *** v1 CLI RX 200 **** v1 CLI RX|Child in state running **** v1 CLI TX|debug.listen_address **** dT 0.984 **** v1 vsl| 0 CLI - Rd vcl.load "vcl1" vcl_vcl1.1741615454.150063/vgc.so 1auto **** v1 vsl| 0 CLI - Wr 200 52 Loaded "vcl_vcl1.1741615454.150063/vgc.so" as "vcl1" **** v1 vsl| 0 CLI - Rd vcl.use "vcl1" **** v1 vsl| 0 CLI - Wr 200 0 **** v1 vsl| 0 CLI - Rd start **** v1 vsl| 0 Debug - sockopt: Setting SO_LINGER for a0=127.0.0.1:46801 **** v1 vsl| 0 Debug - sockopt: Setting SO_KEEPALIVE for a0=127.0.0.1:46801 **** v1 vsl| 0 Debug - sockopt: Setting SO_SNDTIMEO for a0=127.0.0.1:46801 **** v1 vsl| 0 Debug - sockopt: Setting SO_RCVTIMEO for a0=127.0.0.1:46801 **** v1 vsl| 0 Debug - sockopt: Setting TCP_NODELAY for a0=127.0.0.1:46801 **** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPIDLE for a0=127.0.0.1:46801 **** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPCNT for a0=127.0.0.1:46801 **** v1 vsl| 0 Debug - sockopt: Setting TCP_KEEPINTVL for a0=127.0.0.1:46801 **** v1 vsl| 0 CLI - Wr 200 0 **** dT 1.022 *** v1 CLI RX 200 **** v1 CLI RX|a0 127.0.0.1 46801 **** v1 CLI TX|debug.xid 1000 **** dT 1.073 *** v1 CLI RX 200 **** v1 CLI RX|XID is 1000 chunk 1 **** v1 CLI TX|debug.listen_address **** dT 1.084 **** v1 vsl| 0 CLI - Rd debug.listen_address **** v1 vsl| 0 CLI - Wr 200 19 a0 127.0.0.1 46801 **** v1 vsl| 0 CLI - Rd debug.xid 1000 **** v1 vsl| 0 CLI - Wr 200 19 XID is 1000 chunk 1 **** dT 1.123 *** v1 CLI RX 200 **** v1 CLI RX|a0 127.0.0.1 46801 ** v1 Listen on 127.0.0.1 46801 **** v1 macro def v1_addr=127.0.0.1 **** v1 macro def v1_port=46801 **** v1 macro def v1_sock=127.0.0.1:46801 **** v1 macro def v1_a0_addr=127.0.0.1 **** v1 macro def v1_a0_port=46801 **** v1 macro def v1_a0_sock=127.0.0.1:46801 ** top === shell { **** top shell_cmd|set -e ;exec 2>&1 ; **** top shell_cmd|\tvarnishstat -n /home/linux1/VT/_vtest_tmp/vtc.1771651.47feabcf/v1 -1 \ **** top shell_cmd|\t\t-I MAIN.n_object -I MAIN.cache_* -I MAIN.client_req | **** top shell_cmd|\ttee stat1.txt **** dT 1.186 **** v1 vsl| 0 CLI - Rd debug.listen_address **** v1 vsl| 0 CLI - Wr 200 19 a0 127.0.0.1 46801 **** dT 1.214 **** top shell_out|MAIN.client_req 0 0.00 Good client requests received **** top shell_out|MAIN.cache_hit 0 0.00 Cache hits **** top shell_out|MAIN.cache_hit_grace 0 0.00 Cache grace hits **** top shell_out|MAIN.cache_hitpass 0 0.00 Cache hits for pass. **** top shell_out|MAIN.cache_hitmiss 0 0.00 Cache hits for miss. **** top shell_out|MAIN.cache_miss 0 0.00 Cache misses **** top shell_out|MAIN.n_object 0 . object structs made **** top shell_status = 0x0000 ** top === client c1 { ** c1 Starting client ** top === varnish v1 -vsl_catchup **** dT 1.218 ** c1 Started on 127.0.0.1:46801 (1 iterations) *** c1 Connect to 127.0.0.1:46801 *** c1 connected fd 17 from 127.0.0.1 45480 to 127.0.0.1:46801 ** c1 === txreq **** c1 txreq|GET / HTTP/1.1\r **** c1 txreq|Host: 127.0.0.1\r **** c1 txreq|User-Agent: c1\r **** c1 txreq|\r ** c1 === rxresp **** dT 1.223 *** s1 accepted fd 5 127.0.0.1 48026 ** s1 === rxreq **** dT 1.224 **** s1 rxhdr|GET / HTTP/1.1\r **** s1 rxhdr|Host: 127.0.0.1\r **** s1 rxhdr|User-Agent: c1\r **** s1 rxhdr|X-Forwarded-For: 127.0.0.1\r **** s1 rxhdr|Via: 1.1 v1 (Varnish/trunk)\r **** s1 rxhdr|Accept-Encoding: gzip\r **** s1 rxhdr|X-Varnish: 1002\r **** s1 rxhdr|\r **** s1 rxhdrlen = 148 **** s1 http[ 0] |GET **** s1 http[ 1] |/ **** s1 http[ 2] |HTTP/1.1 **** s1 http[ 3] |Host: 127.0.0.1 **** s1 http[ 4] |User-Agent: c1 **** s1 http[ 5] |X-Forwarded-For: 127.0.0.1 **** s1 http[ 6] |Via: 1.1 v1 (Varnish/trunk) **** s1 http[ 7] |Accept-Encoding: gzip **** s1 http[ 8] |X-Varnish: 1002 **** s1 bodylen = 0 ** s1 === txresp **** s1 txresp|HTTP/1.1 200 OK\r **** s1 txresp|Date: Mon, 10 Mar 2025 14:04:15 GMT\r **** s1 txresp|Server: s1\r **** s1 txresp|Content-Length: 0\r **** s1 txresp|\r *** s1 shutting fd 5 ** s1 Ending **** dT 1.242 **** c1 rxhdr|HTTP/1.1 200 OK\r **** c1 rxhdr|Date: Mon, 10 Mar 2025 14:04:15 GMT\r **** c1 rxhdr|Server: s1\r **** c1 rxhdr|Content-Length: 0\r **** c1 rxhdr|X-Varnish: 1001\r **** c1 rxhdr|Age: 0\r **** c1 rxhdr|Via: 1.1 v1 (Varnish/trunk)\r **** c1 rxhdr|Accept-Ranges: bytes\r **** c1 rxhdr|Connection: keep-alive\r **** c1 rxhdr|\r **** c1 rxhdrlen = 187 **** c1 http[ 0] |HTTP/1.1 **** c1 http[ 1] |200 **** c1 http[ 2] |OK **** c1 http[ 3] |Date: Mon, 10 Mar 2025 14:04:15 GMT **** c1 http[ 4] |Server: s1 **** c1 http[ 5] |Content-Length: 0 **** c1 http[ 6] |X-Varnish: 1001 **** c1 http[ 7] |Age: 0 **** c1 http[ 8] |Via: 1.1 v1 (Varnish/trunk) **** c1 http[ 9] |Accept-Ranges: bytes **** c1 http[10] |Connection: keep-alive **** c1 bodylen = 0 *** c1 closing fd 17 ** c1 Ending **** dT 1.287 **** v1 vsl| 1000 Begin c sess 0 HTTP/1 **** v1 vsl| 1000 SessOpen c 127.0.0.1 45480 a0 127.0.0.1 46801 1741615455.203141 22 **** v1 vsl| 1000 Debug c sockopt: SO_LINGER may be inherited for a0=127.0.0.1:46801 **** v1 vsl| 1000 Debug c sockopt: SO_KEEPALIVE may be inherited for a0=127.0.0.1:46801 **** v1 vsl| 1000 Debug c sockopt: SO_SNDTIMEO may be inherited for a0=127.0.0.1:46801 **** v1 vsl| 1000 Debug c sockopt: SO_RCVTIMEO may be inherited for a0=127.0.0.1:46801 **** v1 vsl| 1000 Debug c sockopt: TCP_NODELAY may be inherited for a0=127.0.0.1:46801 **** v1 vsl| 1000 Debug c sockopt: TCP_KEEPIDLE may be inherited for a0=127.0.0.1:46801 **** v1 vsl| 1000 Debug c sockopt: TCP_KEEPCNT may be inherited for a0=127.0.0.1:46801 **** v1 vsl| 1000 Debug c sockopt: TCP_KEEPINTVL may be inherited for a0=127.0.0.1:46801 **** v1 vsl| 1000 Link c req 1001 rxreq **** v1 vsl| 1002 Begin b bereq 1001 fetch **** v1 vsl| 1002 VCL_use b vcl1 **** v1 vsl| 1002 Timestamp b Start: 1741615455.203275 0.000000 0.000000 **** v1 vsl| 1002 BereqMethod b GET **** v1 vsl| 1002 BereqURL b / **** v1 vsl| 1002 BereqProtocol b HTTP/1.1 **** v1 vsl| 1002 BereqHeader b Host: 127.0.0.1 **** v1 vsl| 1002 BereqHeader b User-Agent: c1 **** v1 vsl| 1002 BereqHeader b X-Forwarded-For: 127.0.0.1 **** v1 vsl| 1002 BereqHeader b Via: 1.1 v1 (Varnish/trunk) **** v1 vsl| 1002 BereqHeader b Accept-Encoding: gzip **** v1 vsl| 1002 BereqHeader b X-Varnish: 1002 **** v1 vsl| 1002 VCL_call b BACKEND_FETCH **** v1 vsl| 1002 VCL_return b fetch **** v1 vsl| 1002 Timestamp b Fetch: 1741615455.203299 0.000024 0.000024 **** v1 vsl| 1002 Timestamp b Connected: 1741615455.203351 0.000075 0.000051 **** v1 vsl| 1002 BackendOpen b 25 s1 127.0.0.1 39239 127.0.0.1 48026 connect **** v1 vsl| 1002 Timestamp b Bereq: 1741615455.203375 0.000100 0.000024 **** v1 vsl| 1002 BerespProtocol b HTTP/1.1 **** v1 vsl| 1002 BerespStatus b 200 **** v1 vsl| 1002 BerespReason b OK **** v1 vsl| 1002 BerespHeader b Date: Mon, 10 Mar 2025 14:04:15 GMT **** v1 vsl| 1002 BerespHeader b Server: s1 **** v1 vsl| 1002 BerespHeader b Content-Length: 0 **** v1 vsl| 1002 Timestamp b Beresp: 1741615455.208929 0.005654 0.005553 **** v1 vsl| 1002 TTL b RFC 120 10 0 1741615455 1741615455 1741615455 0 0 cacheable **** v1 vsl| 1002 VCL_call b BACKEND_RESPONSE **** v1 vsl| 1002 VCL_return b deliver **** v1 vsl| 1002 Debug b Missing content-range header or unknown range unit **** v1 vsl| 1002 Timestamp b Process: 1741615455.208951 0.005676 0.000022 **** v1 vsl| 1002 Filters b **** v1 vsl| 1002 Storage b malloc s0 **** v1 vsl| 1002 Fetch_Body b 0 none - **** v1 vsl| 1002 BackendClose b 25 s1 recycle **** v1 vsl| 1002 Timestamp b BerespBody: 1741615455.224523 0.021247 0.015571 **** v1 vsl| 1002 Length b 0 **** v1 vsl| 1002 BereqAcct b 148 0 148 87 0 87 **** v1 vsl| 1002 End b **** v1 vsl| 1001 Begin c req 1000 rxreq **** v1 vsl| 1001 Timestamp c Start: 1741615455.203180 0.000000 0.000000 **** v1 vsl| 1001 Timestamp c Req: 1741615455.203180 0.000000 0.000000 **** v1 vsl| 1001 VCL_use c vcl1 **** v1 vsl| 1001 ReqStart c 127.0.0.1 45480 a0 **** v1 vsl| 1001 ReqMethod c GET **** v1 vsl| 1001 ReqURL c / **** v1 vsl| 1001 ReqProtocol c HTTP/1.1 **** v1 vsl| 1001 ReqHeader c Host: 127.0.0.1 **** v1 vsl| 1001 ReqHeader c User-Agent: c1 **** v1 vsl| 1001 ReqHeader c X-Forwarded-For: 127.0.0.1 **** v1 vsl| 1001 ReqHeader c Via: 1.1 v1 (Varnish/trunk) **** v1 vsl| 1001 VCL_call c RECV **** v1 vsl| 1001 VCL_return c hash **** v1 vsl| 1001 VCL_call c HASH **** v1 vsl| 1001 VCL_return c lookup **** v1 vsl| 1001 VCL_call c MISS **** v1 vsl| 1001 VCL_return c fetch **** v1 vsl| 1001 Link c bereq 1002 fetch **** v1 vsl| 1001 Timestamp c Fetch: 1741615455.224571 0.021391 0.021391 **** v1 vsl| 1001 RespProtocol c HTTP/1.1 **** v1 vsl| 1001 RespStatus c 200 **** v1 vsl| 1001 RespReason c OK **** v1 vsl| 1001 RespHeader c Date: Mon, 10 Mar 2025 14:04:15 GMT **** v1 vsl| 1001 RespHeader c Server: s1 **** v1 vsl| 1001 RespHeader c Content-Length: 0 **** v1 vsl| 1001 RespHeader c X-Varnish: 1001 **** v1 vsl| 1001 RespHeader c Age: 0 **** v1 vsl| 1001 RespHeader c Via: 1.1 v1 (Varnish/trunk) **** v1 vsl| 1001 RespHeader c Accept-Ranges: bytes **** v1 vsl| 1001 VCL_call c DELIVER **** v1 vsl| 1001 VCL_return c deliver **** v1 vsl| 1001 Timestamp c Process: 1741615455.224593 0.021413 0.000021 **** v1 vsl| 1001 Filters c **** v1 vsl| 1001 RespHeader c Connection: keep-alive **** v1 vsl| 1001 Timestamp c Resp: 1741615455.224617 0.021437 0.000024 **** v1 vsl| 1001 ReqAcct c 51 0 51 187 0 187 **** v1 vsl| 1001 End c **** v1 vsl| 1000 SessClose c REM_CLOSE 0.027 **** v1 vsl| 1000 End c **** dT 1.314 ** top === shell { **** top shell_cmd|set -e ;exec 2>&1 ; **** top shell_cmd|\tvarnishstat -n /home/linux1/VT/_vtest_tmp/vtc.1771651.47feabcf/v1 -1 \ **** top shell_cmd|\t\t-I MAIN.n_object -I MAIN.cache_* -I MAIN.esi_req | **** top shell_cmd|\ttee stat2.txt **** dT 2.463 **** top shell_out|MAIN.esi_req 0 0.00 ESI subrequests **** top shell_out|MAIN.cache_hit 0 0.00 Cache hits **** top shell_out|MAIN.cache_hit_grace 0 0.00 Cache grace hits **** top shell_out|MAIN.cache_hitpass 0 0.00 Cache hits for pass. **** top shell_out|MAIN.cache_hitmiss 0 0.00 Cache hits for miss. **** top shell_out|MAIN.cache_miss 1 1.00 Cache misses **** top shell_out|MAIN.n_object 1 . object structs made **** top shell_status = 0x0000 ** top === shell -expect Usage: {varnishstatdiff -h} **** top shell_cmd|set -e ;exec 2>&1 ; varnishstatdiff -h **** dT 2.479 **** top shell_out|Usage: /home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/../../contrib/varnishstatdiff **** top shell_out| /home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/../../contrib/varnishstatdiff -h **** top shell_out| **** top shell_out|Show the differences between two sets of varnish metrics extracted **** top shell_out|with 'varnishstat -1'. **** top shell_out| **** top shell_out|Available options: **** top shell_out|-h : show this help and exit **** top shell_out| **** top shell_out|Considering the following metrics in : **** top shell_out| **** top shell_out|FOO.counter 123 12 Only in file 1 **** top shell_out|BAR.counter 456 45 Counter present in both files **** top shell_out|BAR.gauge 999 . Gauge present in both files **** top shell_out| **** top shell_out|And the following metrics in : **** top shell_out| **** top shell_out|BAR.counter 789 79 Counter present in both files **** top shell_out|BAR.gauge 555 . Gauge present in both files **** top shell_out|BAZ.gauge 0 . Only in file 2 **** top shell_out| **** top shell_out|The output is sorted by metric name and looks like this: **** top shell_out| **** top shell_out|--- **** top shell_out|+++ **** top shell_out| BAR.counter -456 -45 Counter present in both files **** top shell_out| +789 +79 **** top shell_out| BAR.gauge -999 . Gauge present in both files **** top shell_out| +555 . **** top shell_out|+BAZ.gauge 0 . Only in file 2 **** top shell_out|-FOO.counter 123 12 Only in file 1 **** top shell_out| **** top shell_out|The output looks like a unified diff except that when metrics are **** top shell_out|present in both files, the diff is rendered as such only in the **** top shell_out|metrics columns. **** top shell_status = 0x0000 **** top shell_expect found ** top === shell -expect "Error: not enough arguments" -err {varnishsta... **** top shell_cmd|set -e ;exec 2>&1 ; varnishstatdiff **** dT 2.515 **** top shell_out|Error: not enough arguments. **** top shell_out| **** top shell_out|Usage: /home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/../../contrib/varnishstatdiff **** top shell_out| /home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/../../contrib/varnishstatdiff -h **** top shell_out| **** top shell_out|Show the differences between two sets of varnish metrics extracted **** top shell_out|with 'varnishstat -1'. **** top shell_out| **** top shell_out|Available options: **** top shell_out|-h : show this help and exit **** top shell_out| **** top shell_out|Considering the following metrics in : **** top shell_out| **** top shell_out|FOO.counter 123 12 Only in file 1 **** top shell_out|BAR.counter 456 45 Counter present in both files **** top shell_out|BAR.gauge 999 . Gauge present in both files **** top shell_out| **** top shell_out|And the following metrics in : **** top shell_out| **** top shell_out|BAR.counter 789 79 Counter present in both files **** top shell_out|BAR.gauge 555 . Gauge present in both files **** top shell_out|BAZ.gauge 0 . Only in file 2 **** top shell_out| **** top shell_out|The output is sorted by metric name and looks like this: **** top shell_out| **** top shell_out|--- **** top shell_out|+++ **** top shell_out| BAR.counter -456 -45 Counter present in both files **** top shell_out| +789 +79 **** top shell_out| BAR.gauge -999 . Gauge present in both files **** top shell_out| +555 . **** top shell_out|+BAZ.gauge 0 . Only in file 2 **** top shell_out|-FOO.counter 123 12 Only in file 1 **** top shell_out| **** top shell_out|The output looks like a unified diff except that when metrics are **** top shell_out|present in both files, the diff is rendered as such only in the **** top shell_out|metrics columns. **** top shell_status = 0x0001 **** top shell_expect found ** top === shell -expect "Error: not enough arguments" -err {varnishsta... **** top shell_cmd|set -e ;exec 2>&1 ; varnishstatdiff a **** dT 2.555 **** top shell_out|Error: not enough arguments. **** top shell_out| **** top shell_out|Usage: /home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/../../contrib/varnishstatdiff **** top shell_out| /home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/../../contrib/varnishstatdiff -h **** top shell_out| **** top shell_out|Show the differences between two sets of varnish metrics extracted **** top shell_out|with 'varnishstat -1'. **** top shell_out| **** top shell_out|Available options: **** top shell_out|-h : show this help and exit **** top shell_out| **** top shell_out|Considering the following metrics in : **** top shell_out| **** top shell_out|FOO.counter 123 12 Only in file 1 **** top shell_out|BAR.counter 456 45 Counter present in both files **** top shell_out|BAR.gauge 999 . Gauge present in both files **** top shell_out| **** top shell_out|And the following metrics in : **** top shell_out| **** top shell_out|BAR.counter 789 79 Counter present in both files **** top shell_out|BAR.gauge 555 . Gauge present in both files **** top shell_out|BAZ.gauge 0 . Only in file 2 **** top shell_out| **** top shell_out|The output is sorted by metric name and looks like this: **** top shell_out| **** top shell_out|--- **** top shell_out|+++ **** top shell_out| BAR.counter -456 -45 Counter present in both files **** top shell_out| +789 +79 **** top shell_out| BAR.gauge -999 . Gauge present in both files **** top shell_out| +555 . **** top shell_out|+BAZ.gauge 0 . Only in file 2 **** top shell_out|-FOO.counter 123 12 Only in file 1 **** top shell_out| **** top shell_out|The output looks like a unified diff except that when metrics are **** top shell_out|present in both files, the diff is rendered as such only in the **** top shell_out|metrics columns. **** top shell_status = 0x0001 **** top shell_expect found ** top === shell -expect "Error: too many arguments" -err {varnishstatd... **** top shell_cmd|set -e ;exec 2>&1 ; varnishstatdiff a b c **** dT 2.589 **** top shell_out|Error: too many arguments. **** top shell_out| **** top shell_out|Usage: /home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/../../contrib/varnishstatdiff **** top shell_out| /home/linux1/VT/varnish-cache/varnish-trunk/_build/sub/../../contrib/varnishstatdiff -h **** top shell_out| **** top shell_out|Show the differences between two sets of varnish metrics extracted **** top shell_out|with 'varnishstat -1'. **** top shell_out| **** top shell_out|Available options: **** top shell_out|-h : show this help and exit **** top shell_out| **** top shell_out|Considering the following metrics in : **** top shell_out| **** top shell_out|FOO.counter 123 12 Only in file 1 **** top shell_out|BAR.counter 456 45 Counter present in both files **** top shell_out|BAR.gauge 999 . Gauge present in both files **** top shell_out| **** top shell_out|And the following metrics in : **** top shell_out| **** top shell_out|BAR.counter 789 79 Counter present in both files **** top shell_out|BAR.gauge 555 . Gauge present in both files **** top shell_out|BAZ.gauge 0 . Only in file 2 **** top shell_out| **** top shell_out|The output is sorted by metric name and looks like this: **** top shell_out| **** top shell_out|--- **** top shell_out|+++ **** top shell_out| BAR.counter -456 -45 Counter present in both files **** top shell_out| +789 +79 **** top shell_out| BAR.gauge -999 . Gauge present in both files **** top shell_out| +555 . **** top shell_out|+BAZ.gauge 0 . Only in file 2 **** top shell_out|-FOO.counter 123 12 Only in file 1 **** top shell_out| **** top shell_out|The output looks like a unified diff except that when metrics are **** top shell_out|present in both files, the diff is rendered as such only in the **** top shell_out|metrics columns. **** top shell_status = 0x0001 **** top shell_expect found ** top === shell { **** top shell_cmd|set -e ;exec 2>&1 ; **** top shell_cmd|\tvarnishstatdiff stat1.txt stat2.txt | tee diff.txt **** dT 2.737 **** top shell_out|--- stat1.txt **** top shell_out|+++ stat2.txt **** top shell_out| MAIN.cache_miss -0 -0.00 Cache misses **** top shell_out| +1 +1.00 **** top shell_out|-MAIN.client_req 0 0.00 Good client requests received **** top shell_out|+MAIN.esi_req 0 0.00 ESI subrequests **** top shell_out| MAIN.n_object -0 . object structs made **** top shell_out| +1 . **** top shell_status = 0x0000 ** top === shell { **** top shell_cmd|set -e ;exec 2>&1 ; **** top shell_cmd|\tsed 's/@/ /' >expected.txt <<-EOF **** top shell_cmd|\t--- stat1.txt **** top shell_cmd|\t+++ stat2.txt **** top shell_cmd|\t@MAIN.cache_miss -0 -0.00 Cache misses **** top shell_cmd|\t@ +1 +0.00 **** top shell_cmd|\t-MAIN.client_req 0 0.00 Good client requests received **** top shell_cmd|\t+MAIN.esi_req 0 0.00 ESI subrequests **** top shell_cmd|\t@MAIN.n_object -0 . object structs made **** top shell_cmd|\t@ +1 . **** top shell_cmd|\tEOF **** top shell_cmd| **** top shell_cmd|\tdiff -u expected.txt diff.txt **** dT 2.758 **** top shell_out|--- expected.txt\t2025-03-10 10:04:16.713434035 -0400 **** top shell_out|+++ diff.txt\t2025-03-10 10:04:16.693434035 -0400 **** top shell_out|@@ -1,7 +1,7 @@ **** top shell_out| --- stat1.txt **** top shell_out| +++ stat2.txt **** top shell_out| MAIN.cache_miss -0 -0.00 Cache misses **** top shell_out|- +1 +0.00 **** top shell_out|+ +1 +1.00 **** top shell_out| -MAIN.client_req 0 0.00 Good client requests received **** top shell_out| +MAIN.esi_req 0 0.00 ESI subrequests **** top shell_out| MAIN.n_object -0 . object structs made **** top shell_status = 0x0001 ---- top shell_exit not as expected: got 0x0001 wanted 0x0000 * top RESETTING after ../../../contrib/tests/statdiff_b00000.vtc ** c1 Waiting for client ** s1 Waiting for server (4/-1) ** v1 Wait **** v1 CLI TX|panic.show **** dT 2.908 *** v1 CLI RX 300 **** v1 CLI RX|Child has not panicked or panic has been cleared **** dT 2.913 *** v1 debug|Info: manager stopping child *** v1 debug|Debug: Stopping Child **** dT 2.994 **** v1 vsl| 0 CLI - EOF on CLI connection, worker stops **** dT 3.012 *** v1 debug|Info: Child (1771684) said Child dies *** v1 debug|Info: Child (1771684) ended *** v1 debug|Debug: Child cleanup complete *** v1 debug|Info: manager dies **** v1 STDOUT EOF **** dT 3.095 ** v1 WAIT4 pid=1771671 status=0x0000 (user 0.225824 sys 0.029425) * top TEST ../../../contrib/tests/statdiff_b00000.vtc FAILED * diag 0.0 /bin/diff # top TEST ../../../contrib/tests/statdiff_b00000.vtc FAILED (3.103) exit=2 FAIL tests/statdiff_b00000.vtc (exit status: 2)